Changes From the Previous Release
The changes from release 1029 to release 1031 are list below:
DIRECTORY CHANGES:
The entire directory structure has changed under release 1031. Please note the following changes:
- All source code files ending with a ".cpp" extension have been moved to the "src" directory.
- All include files ending with a ".hpp" extension now end in a ".h" extension and have been moved to the "include" directory.
- All the class library example programs have been moved to the "examples" directory.
- All the previous example programs in the "examples" directory have been moved to the "contrib" directory.
- The "classes" directory has been removed and all relevant files have been moved to either the "src", "include", or "examples" directory.
- The "env" directory has been removed. All the makefiles for the example programs and the utility programs will compile without setting any environmental variables. The environmental variables needed to compile the programs in the "contrib" directory must be set according to the documentation provided with the program.
- The "strdb" directory has been moved to the "contrib" directory.
- Release 1031 includes a "bin" and "lib" directory used to store executables and libraries.
FILE NAME CHANGES:
Under release 1031 all include files ending with a ".hpp" extension now end in a ".h" extension.
C++ CLASS LIBRARY:
Release 1031 adds the HyperTextDrv and HyperText classes used to generate HTML documents from within a C++ program.
Ustring class - Added the IFind() string searching function to find matching patterns in strings without comparing the case.
VBDFile class - Version number changed to 1031 to match the release number and is fully compatible with the previous release.
EXAMPLE PROGRAMS:
All the class library example programs have been moved to the "examples" directory and the previous example programs in the "examples" directory have been moved to the "contrib" directory.
UTILITY PROGRAMS:
Release 1031 adds the ASCII to HMTL converter and the ffind utility.
The ASCII to HMTL utility was added as test a program for the hypertext driver classes.
The ffind text utility is a console-based program used to search for, insert, and replace strings in text files. It was used inside of batch files and shell scripts to make numerous modifications to source code files, makefiles, and html files during the transition from release 1029 to release 1031.
The ASCII to PostScript utility, provided as a test program for the postscript driver class, has been modified to expand wildcard characters used in command-line arguments.
The changes from release 1027 to release 1029 are list below:
C++ CLASS LIBRARY:
Btree - Version 1029 adds a generic B-tree iterator that turns the recursive BtreeWalk() function into an iteration. See the "btwalker.hpp" and "btwalker.cpp" source code files for details.
EntryKey - Both the FullCompare() and Compare() functions have been modified to perform a case-insensitive comparison on the key member to keep the B-tree entries in alphabetical order during insertions. See source code for details. NOTE: These modifications will affect the ordering of the B-tree nodes and may impact applications that use index files created with previous releases. Any problems can be corrected by rebuilding the index file.
Struitil - Added the FindMatch() and IFindMatch() functions to find matching patterns in null-terminated strings. See source code for details.
VBDFile - Version number changed to 1029 due to minor changes. See source code for details. Downward compatible with previous release.
EXAMPLE PROGRAMS:
Removed the B-tree and D-tree dictionary example programs. The B-tree dictionary example has been incorporated in the test program included with the class library examples.
UTILITY PROGRAMS:
Modified the IX Debug utility to work with B-tree iterator class.
The changes from release 1025 to release 1027 are list below:
C++ CLASS LIBRARY:
SLList - General-purpose template and non-template singly linked list class. Removed duplicate definition of overloaded assignment operator.
EHandler - Added a new exception code and class for CRC exceptions. See source code for details.
Btree - Added functions the allow files to be properly updated during multiple file access. See source code for details.
Persistent - All string functions represent null values with a zero. See source code for details.
PostScriptDrv - Modified the system time function to format the time string using either abbreviated or non-abbreviated Months. See source code for details.
UString - Added standalone insensitive case comparison functions that take UString objects as operands. See source code for details.
VBDFile - Version number changed to 1027 revision 'A'. Version 1027 includes a 32-bit CRC checksum routine used to detect bit error during all write operations. Revision 'A' modifies the file format by reserving four bytes at the end of each block for an optional block checksum. See source code for details. Downward compatible with previous release.
EXAMPLE PROGRAMS:
Rolodex Program - Changed all references to the name "Rolodex" in both the source code and documentation to CCIndex. The word "Rolodex is trademarked and proprietary. It cannot be used in any of the source code or documentation as the Rolodex Company aggressively and actively defends their trademark.
Removed the Contacts List, HP List, Property List, and Telecommunications string database example programs to keep the file size of the distribution below 1.44 MB.
UTILITY PROGRAMS:
Modified the VB Debug utility to work with previous releases.
Added some conversion functions to the Hex Dump utility. See the help documentation for complete details.
The changes from release 1024 to release 1025 are list below:
C++ CLASS LIBRARY:
All the components of the C++ class library have been moved to a central directory named: "classes". The source code is located in a subdirectory named after the class itself. Each source code directory is broken down into two or more subdirectories. The base source code resides in a directory named "base" and a console based test program resides in a directory named "console". The following classes have been added or modified in this release:
Btree - B-tree class and supporting classes added in this release to create and manage index files.
Cache - Cache class and supporting classes added in this release to implement disk caching.
CDate - General-purpose year 2000 compliant date classes added in this release.
DLList - General-purpose template and non-template doubly linked list class added in this release.
Dtree - Unbalanced B-tree supplied with this release for testing purposes.
EHandler - Additional exception codes and classes added and minor changes. See source code for details. Fully compatible with previous release.
Misc. - Simple implementations of a tree, hash table, doubly linked list, and string classes supplied with this distribution for testing purposes.
OS - The "os_type.hpp", "machine.hpp", and complier.hpp include files are no longer used in this release. In the previous distribution these include files contained a set of macros used to define operating system, machine, and compiler specific flags. The conditional directives are now defined in each makefile using the "-D" compiler option.
Persistent - Added index file routines and modified derived class interface. Will not compile with previous release. See source code before compiling.
Placenew - Overloaded new operator added in this release to perform in-place construction.
POD - Added index file routines and minor changes. See source code for details. Fully compatible with previous release.
PostScriptDrv - PostScript driver class added in this release to print database files in a postscript format.
StrDB - The general-purpose string database and example programs will not compile with the previous release due to major changes. See source code and help documentation before compiling.
Strutil - General purpose null-terminated string utilities added in this release.
VBDFile - Version number changed to 1025 due to minor changes. See source code for details. Downward compatible with previous release.
DOCUMENTATION:
All documentation is now provided in an HTML format. The documentation covers the VBD C++ class library, the example programs, and the utility programs provided with this distribution. Parts of the documentation may be made available in other formats upon request.
UTILITY PROGRAMS:
All the VBD file utilities have been moved to a central directory named: "utils". Several new utility programs have been added in this release. See the help documentation for complete details.